پروتکل TLS و تفاوت های آن با SSL
در این مقاله میخواهیم در مورد پروتکل TLS و تفاوت های آن با SSL صحبت کنیم.
TLS یا Transport Layer Security پروتکل رمزنگاری است
که بر پایه لایه سوکت امن (Secure Sockets Layer) یا همان SSL عمل کرده
که از شنود (eavesdropping) و جعل پیام ها (message forgery) جلوگیری کرده
و با احراز هویت و رمزنگاری ارتباطی امن بین Server و Client در اینترنت ایجاد می کند.

SSL, TLS در مدل TCP/IP در لایه Transport و در مدل مرجع OSI
در لایه presentation کار می کند که در نتیجه پروتکل هایی که
در لایه های کاربرد عمل می کنند برای سرویس دهی امن می توانند از آن استفاده کنند مثل http, FTP.
از این پروتکل بیشتر در مرورگرها و برای انتقال داده به صورت امن
بین Web server , mail server , نمابرهای اینترنتی , پیام های فوری اینترنتی ,
VPN , انتقال فایل ها و حفاظت از پروتکل SIP در VOIP (تلفن های مبتنی بر IP) مورد استفاده قرار می گیرد.
به عنوان مثال برای ایجاد ارتباط امن بین Web server
و درخواست کننده از پروتکل Secure شده http یعنی https
استفاده می شود که از پروتکل SSL استفاده می شود.
طریقه عملکرد TLS
در هنگام ارسال درخواست از طرف Client به Server کاربر
باید مشخص کند که میخواهد یک ارتباط TLS داشته باشدیا خیر.
در صورت مثبت بودن یا از یک پورت متفاوت و اختصاصی برای اتصال TLS استفاده می کنند
یا یک پورت مشخص از طرف Server به Client برای برقراری ارتباط تخصیص داده می شود.
هنگامی که Client , Server برای برقراری ارتباط تصمیم گرفتند از TLS استفاده کنند
برای به توافق رسید بر سره پارامترهای مختلف برای اتصال امن
از مذاکره به شیوه Handshaking استفاده می کنند.
مراحل برقراری ارتباط به روش Hand Shaking
1) Client اطلاعات مورد نیاز Server , برای برقراری ارتباط
به وسیله SSL مثل نسخه SSL Client و تنظیمات رمزگذاری و اطلاعاتی دیگر
که سرور ممکن از به آن نیاز داشته باشد را ارسال می کند.
2)Server اطلاعات مورد نیاز Client برای برقراری ارتباط به وسیله SSL
مثل نسخه SSL Server و تنظیمات رمزگذاری و سایر اطلاعات که کلاینت ممکن است
به آن نیاز داشته باشد و همچنین گواهی نامه یا Certificate برای Client ارسال می کند.
در صورتی که Client منبعی از Server درخواست کند باید Client احراز هویت شود
و Certificate خود را برای Server ارسال کند.
3)Client با دریافت اطلاعات Server , میتوان Server را احراز هویت کرد
که در صورت عدم تصدیق به کاربرهشدار داده می شود
و در صورت تصدیق Server , Client به مرحله بعدی می رود.
4)Client با استفاده از اطلاعات دریافت شده از Server یک Pre-master secret
ایجاد کرده و برای Server ارسال می کند.
5)در صورت در خواست Server برای احراز هویت Client , Client باید تمام اطلاعات مورد نیاز
برای احراز هویت را برای Server ارسال کند.
6)در صورت تصدیق نشدن Client ارتباط قطع می شود و در صورت تصدیق شدن ,
Server با استفاده از کلید خصوصی خود pre-master secret را رمزگشایی می کند.
7) Client , server از master secret استفاده کرده و کلیدی تولید کرده
که کلید متقارن بوده که برای رمزنگاری و رمزگشایی اطلاعات مبادله شده
بین Client , Server استفاده می شود.
در صورت بروز شکست در یکی از مراحل بالا , تلاش برای برقراری ارتباط
به وسیله TLS با شکست مواجه شده و ارتباط بر قرار نمی شود.
تاریخچه TLS
در ابتدا نسخه 1 پروتکل SSL توسط Netscape توسعه داده شد که این نسخه
برای استفاده عموم منتشر نشد . نسخه 2 آن در سال 1995 منتشر شد
که در سال بعد به دلیل مشکلات امنیتی در نسخه 2 , نسخه بعدی یعنی.0 SSL 3 منتشر شد
که طراحی کاملا جدیدی داشت.
در سال 1999ارتقاء یافته SSL3.0 با اسم TLS منتشر شد که
تفاوت چندانی با نسخه 3 , SLL وجود نداشت در واقع می توان گفت
TLS نسخه SLL3.0 را کامل کرده.در سال 2006 TLS1.1 منتشر شد
که تفاوت آن با نسخه قبلی , حفاظت در برار حملات CBC یا Cipher block chaining و
IV implicait با IV explicit جایگزین شده . در نهایت اخرین نسخه TLS
یعنی TLS1.2 در سال 2008 منتشر شد که جایگزینی MD5-SHA-1 با SHA-256 بوده.
بین TLS , SSL تفاوت چندانی وجود ندارد ولی TLS در احراز هویت و
تولید کلید عمومی بهتر عمل کرده و امن تر است و
از الگوریتم های جدید و امن تر پشتیبانی می کند و
همچنین از احراز هویت یک طرفه و دو طرفه پشتیبانی می کند.
و همچنین پروتکل هایی دیگر در TLS , SSL اضافه شده از جمله:
- پروتکل تغییر مشخصات رمز
- پروتکل هشدار که شامل نوع خطا (Warning , Fatal) است و
کد خطا مثل پیغام غیره منتظره , خطا در بازگشایی , خطا در گواهی و ...
- پروتکل رکورد که شامل سرویس محرمانگی واحرا هویت است
که محرمانگی به وسیله الگوریتم رمز متقارن و احراز هویت توسط MAC انجام می شود
که مراحل زیر در این پروتکل انجام می شود.
- قطعه قطعه کردن داده ها
- فشرده سازی داده ها (در نسخه SSL3.0 اختیاری است).
- کد احراز هویت
- رمزگذاری قطعه های فشرده شده و MAC
- Header به ابتدای بسته چسبانده می شود.
:: موضوعات مرتبط:
آموزش شبکه ,
,
:: برچسبها:
پروتکل TLS و تفاوت های آن با SSL ,
تفاوت TLS و SSL چیست ,
پروتکل TLS چیست ,
امنیت لایه انتقال ,
TLS مخفف چیست ,
TLSچیست و با SSL چه تفاوتی دارد ,